package com.liang.subject.domain.convert;

import com.liang.subject.domain.entity.SubjectInfoBO;
import com.liang.subject.domain.entity.SubjectOptionBO;
import com.liang.subject.infra.basic.entity.SubjectInfo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface SubjectInfoConverter {
    SubjectInfoConverter INSTANCE = Mappers.getMapper(SubjectInfoConverter.class);

    SubjectInfo convertBO2PO(SubjectInfoBO subjectInfoBO);

    SubjectInfoBO convertPO2BO(SubjectInfo subjectInfo);

    SubjectInfoBO convert2BO(SubjectInfo subjectInfo, SubjectOptionBO subjectOptionBO);

    SubjectInfo convertPO2DTO(SubjectInfo subjectInfo);

    List<SubjectInfoBO> convert2BOList(List<SubjectInfo> subjectInfoList);
}
